# 这是一个带有表头、坐标轴标记、图例的标准曲线图。另外还设置了xy轴的范围。
import matplotlib.pyplot as plt

import numpy as np

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号

plt.figure(figsize=(8, 6), dpi=80, facecolor='#ffffff')  # 创建一个新的 1 * 1 的子图，接下来的图样绘制在其中的第 1 块（也是唯一的一块）
# 背景颜色为白色（"#ffffff"或者"white"）
plt.subplot(111, facecolor='#dddddd')  # 设置子图，背景颜色为#bbbbbb,是灰色
X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
y1 = np.cos(X)
y2 = np.sin(X)
X2 = np.linspace(-np.pi, np.pi, 50, endpoint=True)
y3 = np.cos(X2) + np.sin(X2)
y4 = np.cos(X2) - np.sin(X2)

plt.plot(X, y1, color="#0000ff", linewidth=1.0, linestyle="-",
         label=r"$y=\cos{x}$")  # 绘制余弦曲线，使用蓝色('b'或者‘#0000ff’)的、连续的、宽度为 1 （像素）的线条
# 或者：plt.plot(X, y1, color="b", linewidth=1.0, linestyle="-")  # 绘制余弦曲线，使用蓝色的、连续的、宽度为 1 （像素）的线条

plt.plot(X, y2, color="#ff0000", lw=4.0, linestyle="-", label=r"$y=\sin{x}$")  # 绘制正弦曲线，使用红色的、连续的、宽度为 4 （像素）的线条

plt.plot(X2, y3, color="#00ff00", lw=0.5, marker='*', markersize=10,
         label=r"$y=\cos{x}+\sin{x}$")  # 线条使用绿色绘图，线宽0.5,点标记为星型,标记大小为10

plt.scatter(X2, y4, color='#ffff00', marker='o', label=r"$y=\cos{x}-\sin{x}$")  # 散点图，中间没有任何连线。

plt.axis([np.min(X) * 1.2, np.max(X) * 1.2, np.min(y3) * 1.2, np.max(y3) * 1.2])  # 给定坐标轴的范围

# 设置轴记号
plt.xticks([-np.pi, -np.pi / 2, 0, np.pi / 2, np.pi],
           [r'$-\pi$', r'$-\frac{\pi}{2}$', r'$0$', r'$\frac{\pi}{2}$', r'$+\pi$'], rotation=-30)  # 旋转30度

plt.yticks([-1, 0, +1],
           [r'$-1$', r'$0$', r'$+1$'])  # 注意：这里设置记号时，同时设置了记号的标签。使用了LaTeX
plt.title("Test")
plt.xlabel('xAxis')
plt.ylabel('yAxis')
plt.grid()
plt.legend()
plt.show()
